package com.zw.mes.module.materialRequisition.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Calendar;
import java.util.Date;

/**
 * @className: VerifySheet
 * @description: 审核主单模型
 * @author： 徐一贺 18341916590
 * @date： 2021/4/12 15:44
 * @office: 智能控制设计科
 * @research institute： 智能控制设计所
 * @department： 机械设计院
 * @company: 辽宁忠旺机械设备制造有限公司
 * @group： 忠旺集团
 * @version: 1.0
 */
@Data
public class VerifySheet {
    /**
     * 主键
     */
    private Integer id;
    /**
     * 提交类型
     */
    private Integer appType;
    /**
     * 备注
     */
    private String remark;
    /**
     * 制单人：外键：依赖用户表主键
     */
    private Integer makUid;
    /**
     * 制单部门：外键：依赖用户表主键
     */
    private Integer makDeptId;
    /**
     * 制单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date makCreateTime;
    /**
     * 最后编辑日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date makEditTime;
    /**
     * 最后编辑人
     */
    private Integer makEditUid;
    /**
     * 提交日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date submitTime;
    /**
     * 审核人
     */
    private String revName;
    /**
     * 审核通过时间（厂长签字时间）
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date revTime;
    /**
     * 审核人电子会签图片路径（厂长签字图片路径）
     */
    private String revSignUrl;
    /**
     * 审批人（副总签字）
     */
    private String appName;
    /**
     * 审批通过时间（副总签字时间）
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date appTime;
    /**
     * 审批人电子会签图片路径（副总签字图片路径）
     */
    private String appSignUrl;
    /**
     * 审核状态：1=待提交，2=已提交待审核，3=审核通过，4=驳回
     */
    private Integer appStatus;
    /**
     * 是否删除：1是删除，0是未删除
     */
    private Integer delFlag;
    /**
     * 单据流水码
     */
    private String orderNo;
    /**
     * 创建者
     */
    private String makUserName;
    /**
     * 创建者部门名称
     */
    private String makDeptName;
    /**
     * 查询开始时间
     */
    private Date startTime;
    /**
     * 查询结束时间
     */
    private Date endTime;
    public void setEndTime(Date endTime) {
        if (endTime != null) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(endTime);
            cal.add(Calendar.DAY_OF_YEAR, 1);
            this.endTime = cal.getTime();
        }
    }
    /**
     * 查询开始时间
     */
    private Date auditStartTime;
    /**
     * 查询结束时间
     */
    private Date auditEndTime;
    public void setAuditEndTime(Date auditEndTime) {
        if (auditEndTime != null) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(auditEndTime);
            cal.add(Calendar.DAY_OF_YEAR, 1);
            this.auditEndTime = cal.getTime();
        }
    }
    /**
     * 当前审核用户ID
     */
    private Integer currentUserId;
    /**
     * 制单人姓名
     */
    private String makeUserName;
    /**
     * 制单人部门
     */
    private String makeDeptName;
    /**
     * 审核类型：pass通过 reject驳回
     */
    private String type;
    /**
     * 驳回理由
     */
    private String rejectReasons;
}
